package com.sinux.sshUser.service;

import java.util.List;

import com.sinux.sshUser.entity.User;

/**
 * 用户Service
 * 
 * @author liliangdong
 * 
 */
public interface UserServiceI {
	

	public List<User> findAllUserList();
	
	/**
	 * 分页查询 
	 */
	public List<User> findUserPageing(int page, int rows);
	
	/**
	 * 模糊查询
	 * 
	 */
	public List<User> findUserList(String value);
	/**
	 * 模糊查询 分页
	 * 
	 */
	public List<User> findUserList(String value,int page, int rows);

	/**
	 * 用户登录
	 * 
	 * @param user
	 *            里面包含登录名和密码
	 * @return 用户对象
	 */
	public User login(User user);

	/**
	 * 用户注册
	 * 
	 * @param user
	 *            里面包含登录名和密码
	 * @throws Exception
	 */
	public void reg(User user) throws Exception;

	/**
	 * 添加用户
	 * 
	 * @param user
	 */
	public void add(User user) throws Exception;
	
	

	/**
	 * 获得用户对象
	 * 
	 * @param id
	 * @return 
	 */
	public User get(String id);
	
	/**
	 * 获得用户对象
	 * 
	 * @param logname
	 * @return
	 */
	public User findByLogName(String logname);

	/**
	 * 编辑用户
	 * 
	 * @param user
	 */
	public void edit(User user) throws Exception;
	
	/**
	 * 改变状态(删除/恢复用户记录)
	 * 
	 * @param id
	 */
	public void upState(String id,int state);
	/**
	 * 删除用户
	 * 
	 * @param id
	 */
	public void delete(String id);

	/**
	 * 用户授权
	 * 
	 * @param ids
	 * @param user
	 *            需要user.roleIds的属性值
	 */
	public void grant(String ids, User user);

	/**
	 * 编辑用户密码
	 * 
	 * @param user
	 */
	public void editPwd(User user);

	/**
	 * 用户登录时的autocomplete
	 * 
	 * @param q
	 *            参数
	 * @return
	 */
	public List<User> loginCombobox(String q);
	
	/**
	 * 插入用户部门关联
	 */
	public boolean instude(String uid,String[] deid);
	
	/**
	 * 删除用户部门关联
	 */
	public boolean delstude(String uid,String deid);
	
	/**修改用户角色关联*/
	public boolean updateUserRo(String uid,String[] roids);

}
